package com.im.service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.im.service.common.Result;
import com.im.service.domain.entity.ImUser;
import com.im.service.domain.vo.UserVO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * im-用户 服务类
 * </p>
 *
 * @author 刘志强
 * @since 2024-07-03
 */
public interface ImUserService extends IService<ImUser> {

    /**
     * 用户注册
     *
     * @param imUser
     * @return
     */
    Result register(ImUser imUser);

    /**
     * 获取未读
     *
     * @param userId
     * @return
     */
    Result<Integer> getUnread(Long userId);

    /**
     * 用户列表
     *
     * @return
     */
    Result<List<ImUser>> userList();

    /**
     * 用户详情
     *
     * @param id
     * @return
     */
    Result<UserVO> userInfo(Long id);

    /**
     * userMap
     * @return
     */
    Result<Map<String, ImUser>> userMap();
}
